\hypertarget{classfw1394_camera}{
\section{fw1394Camera Class Reference}
\label{classfw1394_camera}\index{fw1394Camera@{fw1394Camera}}
}


class for firewire ieee1394 video devices using libdc1394-\/2.x api.  


{\ttfamily \#include $<$fw1394Camera.h$>$}Inheritance diagram for fw1394Camera::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{classfw1394_camera}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{classfw1394_camera_afc3085887ce32b55b1501a8fcef8bb1a}{fw1394TwoVideoModeType} \{ \par
{\bfseries fwVIDEO\_\-MODE\_\-160x120\_\-YUV444} =  DC1394\_\-VIDEO\_\-MODE\_\-160x120\_\-YUV444, 
{\bfseries fwVIDEO\_\-MODE\_\-320x240\_\-YUV422} =  DC1394\_\-VIDEO\_\-MODE\_\-320x240\_\-YUV422, 
{\bfseries fwVIDEO\_\-MODE\_\-640x480\_\-YUV411} =  DC1394\_\-VIDEO\_\-MODE\_\-640x480\_\-YUV411, 
{\bfseries fwVIDEO\_\-MODE\_\-640x480\_\-YUV422} =  DC1394\_\-VIDEO\_\-MODE\_\-640x480\_\-YUV422, 
\par
{\bfseries fwVIDEO\_\-MODE\_\-640x480\_\-RGB8} =  DC1394\_\-VIDEO\_\-MODE\_\-640x480\_\-RGB8, 
{\bfseries fwVIDEO\_\-MODE\_\-640x480\_\-MONO8} =  DC1394\_\-VIDEO\_\-MODE\_\-640x480\_\-MONO8, 
{\bfseries fwVIDEO\_\-MODE\_\-640x480\_\-MONO16} =  DC1394\_\-VIDEO\_\-MODE\_\-640x480\_\-MONO16, 
{\bfseries fwVIDEO\_\-MODE\_\-800x600\_\-YUV422} =  DC1394\_\-VIDEO\_\-MODE\_\-800x600\_\-YUV422, 
\par
{\bfseries fwVIDEO\_\-MODE\_\-800x600\_\-RGB8} =  DC1394\_\-VIDEO\_\-MODE\_\-800x600\_\-RGB8, 
{\bfseries fwVIDEO\_\-MODE\_\-800x600\_\-MONO8} =  DC1394\_\-VIDEO\_\-MODE\_\-800x600\_\-MONO8, 
{\bfseries fwVIDEO\_\-MODE\_\-1024x768\_\-YUV422} =  DC1394\_\-VIDEO\_\-MODE\_\-1024x768\_\-YUV422, 
{\bfseries fwVIDEO\_\-MODE\_\-1024x768\_\-RGB8} =  DC1394\_\-VIDEO\_\-MODE\_\-1024x768\_\-RGB8, 
\par
{\bfseries fwVIDEO\_\-MODE\_\-1024x768\_\-MONO8} =  DC1394\_\-VIDEO\_\-MODE\_\-1024x768\_\-MONO8, 
{\bfseries fwVIDEO\_\-MODE\_\-800x600\_\-MONO16} =  DC1394\_\-VIDEO\_\-MODE\_\-800x600\_\-MONO16, 
{\bfseries fwVIDEO\_\-MODE\_\-1024x768\_\-MONO16} =  DC1394\_\-VIDEO\_\-MODE\_\-1024x768\_\-MONO16, 
{\bfseries fwVIDEO\_\-MODE\_\-1280x960\_\-YUV422} =  DC1394\_\-VIDEO\_\-MODE\_\-1280x960\_\-YUV422, 
\par
{\bfseries fwVIDEO\_\-MODE\_\-1280x960\_\-RGB8} =  DC1394\_\-VIDEO\_\-MODE\_\-1280x960\_\-RGB8, 
{\bfseries fwVIDEO\_\-MODE\_\-1280x960\_\-MONO8} =  DC1394\_\-VIDEO\_\-MODE\_\-1280x960\_\-MONO8, 
{\bfseries fwVIDEO\_\-MODE\_\-1600x1200\_\-YUV422} =  DC1394\_\-VIDEO\_\-MODE\_\-1600x1200\_\-YUV422, 
{\bfseries fwVIDEO\_\-MODE\_\-1600x1200\_\-RGB8} =  DC1394\_\-VIDEO\_\-MODE\_\-1600x1200\_\-RGB8, 
\par
{\bfseries fwVIDEO\_\-MODE\_\-1600x1200\_\-MONO8} =  DC1394\_\-VIDEO\_\-MODE\_\-1600x1200\_\-MONO8, 
{\bfseries fwVIDEO\_\-MODE\_\-1280x960\_\-MONO16} =  DC1394\_\-VIDEO\_\-MODE\_\-1280x960\_\-MONO16, 
{\bfseries fwVIDEO\_\-MODE\_\-1600x1200\_\-MONO16} =  DC1394\_\-VIDEO\_\-MODE\_\-1600x1200\_\-MONO16, 
{\bfseries fwVIDEO\_\-MODE\_\-EXIF} =  DC1394\_\-VIDEO\_\-MODE\_\-EXIF, 
\par
{\bfseries fwVIDEO\_\-MODE\_\-FORMAT7\_\-0} =  DC1394\_\-VIDEO\_\-MODE\_\-FORMAT7\_\-0, 
{\bfseries fwVIDEO\_\-MODE\_\-FORMAT7\_\-1} =  DC1394\_\-VIDEO\_\-MODE\_\-FORMAT7\_\-1, 
{\bfseries fwVIDEO\_\-MODE\_\-FORMAT7\_\-2} =  DC1394\_\-VIDEO\_\-MODE\_\-FORMAT7\_\-2, 
{\bfseries fwVIDEO\_\-MODE\_\-FORMAT7\_\-3} =  DC1394\_\-VIDEO\_\-MODE\_\-FORMAT7\_\-3, 
\par
{\bfseries fwVIDEO\_\-MODE\_\-FORMAT7\_\-4} =  DC1394\_\-VIDEO\_\-MODE\_\-FORMAT7\_\-4, 
{\bfseries fwVIDEO\_\-MODE\_\-FORMAT7\_\-5} =  DC1394\_\-VIDEO\_\-MODE\_\-FORMAT7\_\-5, 
{\bfseries fwVIDEO\_\-MODE\_\-FORMAT7\_\-6} =  DC1394\_\-VIDEO\_\-MODE\_\-FORMAT7\_\-6, 
{\bfseries fwVIDEO\_\-MODE\_\-FORMAT7\_\-7} =  DC1394\_\-VIDEO\_\-MODE\_\-FORMAT7\_\-7
 \}
\item 
enum \hyperlink{classfw1394_camera_a4be59b8606d5a974fad1d0b6e07427ac}{fw1394TwoFramerateType} \{ \par
{\bfseries fwFRAMERATE\_\-1\_\-875} =  DC1394\_\-FRAMERATE\_\-1\_\-875, 
{\bfseries fwFRAMERATE\_\-3\_\-75} =  DC1394\_\-FRAMERATE\_\-3\_\-75, 
{\bfseries fwFRAMERATE\_\-7\_\-5} =  DC1394\_\-FRAMERATE\_\-7\_\-5, 
{\bfseries fwFRAMERATE\_\-15} =  DC1394\_\-FRAMERATE\_\-15, 
\par
{\bfseries fwFRAMERATE\_\-30} =  DC1394\_\-FRAMERATE\_\-30, 
{\bfseries fwFRAMERATE\_\-60} =  DC1394\_\-FRAMERATE\_\-60, 
{\bfseries fwFRAMERATE\_\-120} =  DC1394\_\-FRAMERATE\_\-120, 
{\bfseries fwFRAMERATE\_\-240} =  DC1394\_\-FRAMERATE\_\-240
 \}
\item 
enum \hyperlink{classfw1394_camera_ab7dfb3128c6cefed9f0ebadca76b798a}{fw1394TwoColorCodingType} \{ \par
{\bfseries fwCOLOR\_\-CODING\_\-MONO8} =  DC1394\_\-COLOR\_\-CODING\_\-MONO8, 
{\bfseries fwCOLOR\_\-CODING\_\-YUV411} =  DC1394\_\-COLOR\_\-CODING\_\-YUV411, 
{\bfseries fwCOLOR\_\-CODING\_\-YUV422} =  DC1394\_\-COLOR\_\-CODING\_\-YUV422, 
{\bfseries fwCOLOR\_\-CODING\_\-YUV444} =  DC1394\_\-COLOR\_\-CODING\_\-YUV444, 
\par
{\bfseries fwCOLOR\_\-CODING\_\-RGB8} =  DC1394\_\-COLOR\_\-CODING\_\-RGB8, 
{\bfseries fwCOLOR\_\-CODING\_\-MONO16} =  DC1394\_\-COLOR\_\-CODING\_\-MONO16, 
{\bfseries fwCOLOR\_\-CODING\_\-RGB16} =  DC1394\_\-COLOR\_\-CODING\_\-RGB16, 
{\bfseries fwCOLOR\_\-CODING\_\-MONO16S} =  DC1394\_\-COLOR\_\-CODING\_\-MONO16S, 
\par
{\bfseries fwCOLOR\_\-CODING\_\-RGB16S} =  DC1394\_\-COLOR\_\-CODING\_\-RGB16S, 
{\bfseries fwCOLOR\_\-CODING\_\-RAW8} =  DC1394\_\-COLOR\_\-CODING\_\-RAW8, 
{\bfseries fwCOLOR\_\-CODING\_\-RAW16} =  DC1394\_\-COLOR\_\-CODING\_\-RAW16
 \}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classfw1394_camera_a3a2fb0d207715509a8a985b0f28c015b}{fw1394Camera} (unsigned int camera\_\-id)
\item 
virtual \hyperlink{classfw1394_camera_aa7597bcd7b465a271d113d23c9c74516}{$\sim$fw1394Camera} ()
\item 
\hypertarget{classfw1394_camera_ac11c8c3dbfcb071df09f2a151492921c}{
void {\bfseries setCamera} (unsigned int camera)}
\label{classfw1394_camera_ac11c8c3dbfcb071df09f2a151492921c}

\item 
\hypertarget{classfw1394_camera_a58ab439d72b9873dccbcc83cd3eb45bd}{
void {\bfseries getCamera} (unsigned int \&camera)}
\label{classfw1394_camera_a58ab439d72b9873dccbcc83cd3eb45bd}

\item 
void \hyperlink{classfw1394_camera_a323e23058ec5e3c72146af521f358d69}{getNumCameras} (unsigned int \&ncameras)
\item 
void \hyperlink{classfw1394_camera_a8a1b5f5b0b5919112e794a0d600f0fb0}{setVideoMode} (\hyperlink{classfw1394_camera_afc3085887ce32b55b1501a8fcef8bb1a}{fw1394TwoVideoModeType} videomode)
\item 
void \hyperlink{classfw1394_camera_aeaa3340e6f0ee50c1e176207f309ccb3}{getVideoMode} (\hyperlink{classfw1394_camera_afc3085887ce32b55b1501a8fcef8bb1a}{fw1394TwoVideoModeType} \&videomode)
\item 
int \hyperlink{classfw1394_camera_a2618ea5515e488abc8663a478fbe108b}{getVideoModeSupported} (\hyperlink{classfw_list}{fwList}$<$ \hyperlink{classfw1394_camera_afc3085887ce32b55b1501a8fcef8bb1a}{fw1394TwoVideoModeType} $>$ \&videomodes)
\item 
bool \hyperlink{classfw1394_camera_a54d19ed75605e8cb179c233a57db728c}{isVideoModeFormat7} (\hyperlink{classfw1394_camera_afc3085887ce32b55b1501a8fcef8bb1a}{fw1394TwoVideoModeType} videomode)
\item 
bool \hyperlink{classfw1394_camera_a82165613d9a1505f278516d0476238cb}{isColor} ()
\item 
void \hyperlink{classfw1394_camera_a8905ea173e9a55e041643136e6ab7298}{setFramerate} (\hyperlink{classfw1394_camera_a4be59b8606d5a974fad1d0b6e07427ac}{fw1394TwoFramerateType} fps)
\item 
void \hyperlink{classfw1394_camera_a6e95c28ac35402fd27c58f559ffb45d0}{getFramerate} (\hyperlink{classfw1394_camera_a4be59b8606d5a974fad1d0b6e07427ac}{fw1394TwoFramerateType} \&fps)
\item 
int \hyperlink{classfw1394_camera_a45b0b0c2ce45cc303f3b625042953de0}{getFramerateSupported} (\hyperlink{classfw1394_camera_afc3085887ce32b55b1501a8fcef8bb1a}{fw1394TwoVideoModeType} videomode, \hyperlink{classfw_list}{fwList}$<$ \hyperlink{classfw1394_camera_a4be59b8606d5a974fad1d0b6e07427ac}{fw1394TwoFramerateType} $>$ \&fps)
\item 
void \hyperlink{classfw1394_camera_a861943c35b2da1139440fa028d45de2b}{setColorCoding} (\hyperlink{classfw1394_camera_ab7dfb3128c6cefed9f0ebadca76b798a}{fw1394TwoColorCodingType} coding)
\item 
void \hyperlink{classfw1394_camera_a575b60dd8a4e6b6edf15b0b835438a9b}{getColorCoding} (\hyperlink{classfw1394_camera_ab7dfb3128c6cefed9f0ebadca76b798a}{fw1394TwoColorCodingType} \&coding)
\item 
int \hyperlink{classfw1394_camera_a2a787ba79f21132a9edc711aacbc950d}{getColorCodingSupported} (\hyperlink{classfw1394_camera_afc3085887ce32b55b1501a8fcef8bb1a}{fw1394TwoVideoModeType} videomode, \hyperlink{classfw_list}{fwList}$<$ \hyperlink{classfw1394_camera_ab7dfb3128c6cefed9f0ebadca76b798a}{fw1394TwoColorCodingType} $>$ \&codings)
\item 
void \hyperlink{classfw1394_camera_ab3f9d0919e2d86a6137ea27666107f5e}{setFormat7ROI} (unsigned int left=0, unsigned int top=0, unsigned int \hyperlink{classfw_camera_adff2a0f9925b332c0ce9b50e21b0a95c}{width}=0, unsigned int \hyperlink{classfw_camera_a71caa004cb8992eef3393a355ec9ba15}{height}=0)
\item 
void \hyperlink{classfw1394_camera_a04d9f3077be0097cb769d2e7d7e77ab5}{printCameraInfo} ()
\item 
dc1394video\_\-frame\_\-t $\ast$ \hyperlink{classfw1394_camera_a3c64b4c0e17b986d1aea0c0b62f565e0}{dequeue} ()
\item 
void \hyperlink{classfw1394_camera_ab86dfd461efb73ecd48355fb8f91bf19}{enqueue} (dc1394video\_\-frame\_\-t $\ast$frame)
\item 
void \hyperlink{classfw1394_camera_ae62703fddbcb8151ee6d304473375f05}{acquire} (unsigned char $\ast$I)
\item 
void \hyperlink{classfw1394_camera_a29e450db5b97b37bb58906f880c44d2d}{setFeature} (unsigned int gain, dc1394feature\_\-t \hyperlink{structfeature}{feature})
\item 
void \hyperlink{classfw1394_camera_aca19658310d62d1fa0191dda156914be}{getFeature} (unsigned int \&min\_\-gain, unsigned int \&gain, unsigned int \&max\_\-gain, dc1394feature\_\-t \hyperlink{structfeature}{feature})
\item 
void \hyperlink{classfw1394_camera_afdbb3f214e484eb3e3737881fa45eace}{getWidth} (unsigned int \&\hyperlink{classfw_camera_adff2a0f9925b332c0ce9b50e21b0a95c}{width})
\item 
void \hyperlink{classfw1394_camera_ad5bcd003b076b4cfac0b9a8fd4494f16}{getHeight} (unsigned int \&\hyperlink{classfw_camera_a71caa004cb8992eef3393a355ec9ba15}{height})
\item 
void \hyperlink{classfw1394_camera_a20f09992bae2d6d8249cc24b93b82c2d}{close} ()
\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static std::string \hyperlink{classfw1394_camera_ae2b0b4affdf896ce078a328d1531b7e9}{videoMode2string} (\hyperlink{classfw1394_camera_afc3085887ce32b55b1501a8fcef8bb1a}{fw1394TwoVideoModeType} videomode)
\item 
static std::string \hyperlink{classfw1394_camera_afd240ee92c1d3333146eaa69bb8c5d09}{framerate2string} (\hyperlink{classfw1394_camera_a4be59b8606d5a974fad1d0b6e07427ac}{fw1394TwoFramerateType} fps)
\item 
static std::string \hyperlink{classfw1394_camera_a5c66879fc9e5a240201e2e22ebd70b2b}{colorCoding2string} (\hyperlink{classfw1394_camera_ab7dfb3128c6cefed9f0ebadca76b798a}{fw1394TwoColorCodingType} colorcoding)
\item 
static \hyperlink{classfw1394_camera_afc3085887ce32b55b1501a8fcef8bb1a}{fw1394TwoVideoModeType} \hyperlink{classfw1394_camera_ab7aff1d25aaf0e412553722eff1932e6}{string2videoMode} (std::string videomode)
\item 
static \hyperlink{classfw1394_camera_a4be59b8606d5a974fad1d0b6e07427ac}{fw1394TwoFramerateType} \hyperlink{classfw1394_camera_a404f21fb5d6ce69f23689faf661a4f48}{string2framerate} (std::string fps)
\item 
static \hyperlink{classfw1394_camera_ab7dfb3128c6cefed9f0ebadca76b798a}{fw1394TwoColorCodingType} \hyperlink{classfw1394_camera_ac7a3640737651e7f4235397489cf6c20}{string2colorCoding} (std::string colorcoding)
\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static const int \hyperlink{classfw1394_camera_af148b58bd49596cc8cd49490c7b9630f}{NUM\_\-BUFFERS} = 8
\item 
\hypertarget{classfw1394_camera_a7aec98d018c2a5fec906330e36d68666}{
static const char $\ast$ {\bfseries strVideoMode} \mbox{[}DC1394\_\-VIDEO\_\-MODE\_\-NUM\mbox{]}}
\label{classfw1394_camera_a7aec98d018c2a5fec906330e36d68666}

\item 
static const char $\ast$ {\bfseries strFramerate} \mbox{[}DC1394\_\-FRAMERATE\_\-NUM\mbox{]}
\item 
static const char $\ast$ {\bfseries strColorCoding} \mbox{[}DC1394\_\-COLOR\_\-CODING\_\-NUM\mbox{]}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
class for firewire ieee1394 video devices using libdc1394-\/2.x api. Needs libraw1394-\/1.2.0 and libdc1394-\/2.0.0 or more recent versions available on \href{http://sourceforge.net.}{\tt http://sourceforge.net.}

This class was tested with Marlin F033C and F131B cameras and with Point Grey Dragonfly 2 camera.

This grabber allows single or multi camera acquisition. An example of a single camera acquisition is given in \hyperlink{classfw1394_camera_a3a2fb0d207715509a8a985b0f28c015b}{fw1394Camera()}. An example of multi camera acquisition is available in setCamera().


\begin{DoxyItemize}
\item Here an example of single capture from the first camera found on the bus:: 
\begin{DoxyCode}
  fwImage<unsigned char> I;
  fw1394Camera g;
  g.setVideoMode(fw1394Camera::fwVIDEO_MODE_640x480_MONO8);
  g.setFramerate(fw1394Camera::fwFRAMERATE_60);
  while(1)
    g.acquire(I);
\end{DoxyCode}

\end{DoxyItemize}


\begin{DoxyItemize}
\item Here an example of multi camera capture: 
\begin{DoxyCode}
  unsigned int ncameras; // Number of cameras on the bus
  fw1394Camera g;
  g.getNumCameras(ncameras);
  fwImage<unsigned char> *I = new fwImage<unsigned char> [ncameras];

  // If the first camera supports fwVIDEO_MODE_640x480_YUV422 video mode
  g.setCamera(0);
  g.setVideoMode(fw1394Camera::fwVIDEO_MODE_640x480_YUV422);

  // If the second camera support 30 fps acquisition
  g.setCamera(1);
  g.setFramerate(fw1394Camera::fwFRAMERATE_30);

  while(1) {
    for (unsigned int camera=0; camera < ncameras; camera ++) {
      // Acquire alternatively images from camera 0 and from camera 1
      g.setCamera(camera);
      g.acquire(I[camera]);
    }
  }
  delete [] I;
\end{DoxyCode}

\end{DoxyItemize}

\begin{DoxyAuthor}{Author}
Fabien Spindler (\href{mailto:Fabien.Spindler@irisa.fr}{\tt Fabien.Spindler@irisa.fr}), Irisa / Inria Rennes 
\end{DoxyAuthor}


\subsection{Member Enumeration Documentation}
\hypertarget{classfw1394_camera_ab7dfb3128c6cefed9f0ebadca76b798a}{
\index{fw1394Camera@{fw1394Camera}!fw1394TwoColorCodingType@{fw1394TwoColorCodingType}}
\index{fw1394TwoColorCodingType@{fw1394TwoColorCodingType}!fw1394Camera@{fw1394Camera}}
\subsubsection[{fw1394TwoColorCodingType}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf fw1394Camera::fw1394TwoColorCodingType}}}
\label{classfw1394_camera_ab7dfb3128c6cefed9f0ebadca76b798a}
Enumeration of color codings. See libdc1394 2.x header file dc1394/control.h \hypertarget{classfw1394_camera_a4be59b8606d5a974fad1d0b6e07427ac}{
\index{fw1394Camera@{fw1394Camera}!fw1394TwoFramerateType@{fw1394TwoFramerateType}}
\index{fw1394TwoFramerateType@{fw1394TwoFramerateType}!fw1394Camera@{fw1394Camera}}
\subsubsection[{fw1394TwoFramerateType}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf fw1394Camera::fw1394TwoFramerateType}}}
\label{classfw1394_camera_a4be59b8606d5a974fad1d0b6e07427ac}
Enumeration of framerates. See libdc1394 2.x header file dc1394/control.h \hypertarget{classfw1394_camera_afc3085887ce32b55b1501a8fcef8bb1a}{
\index{fw1394Camera@{fw1394Camera}!fw1394TwoVideoModeType@{fw1394TwoVideoModeType}}
\index{fw1394TwoVideoModeType@{fw1394TwoVideoModeType}!fw1394Camera@{fw1394Camera}}
\subsubsection[{fw1394TwoVideoModeType}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf fw1394Camera::fw1394TwoVideoModeType}}}
\label{classfw1394_camera_afc3085887ce32b55b1501a8fcef8bb1a}
Enumeration of video modes. See libdc1394 2.x header file dc1394/control.h 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classfw1394_camera_a3a2fb0d207715509a8a985b0f28c015b}{
\index{fw1394Camera@{fw1394Camera}!fw1394Camera@{fw1394Camera}}
\index{fw1394Camera@{fw1394Camera}!fw1394Camera@{fw1394Camera}}
\subsubsection[{fw1394Camera}]{\setlength{\rightskip}{0pt plus 5cm}fw1394Camera::fw1394Camera (unsigned int {\em camera\_\-id})}}
\label{classfw1394_camera_a3a2fb0d207715509a8a985b0f28c015b}
Default constructor.

By default:
\begin{DoxyItemize}
\item the camera is the first found on the bus.
\end{DoxyItemize}

Current camera settings can be changed using setCamera() to select the active camera on the bus and than \hyperlink{classfw1394_camera_a8a1b5f5b0b5919112e794a0d600f0fb0}{setVideoMode()} or \hyperlink{classfw1394_camera_a8905ea173e9a55e041643136e6ab7298}{setFramerate()} to fix the active camera settings. The list of supported video modes and framerates is available using respectively \hyperlink{classfw1394_camera_a2618ea5515e488abc8663a478fbe108b}{getVideoModeSupported()} and \hyperlink{classfw1394_camera_a45b0b0c2ce45cc303f3b625042953de0}{getFramerateSupported()}.


\begin{DoxyCode}
  fwImage<unsigned char> I;
  fw1394Camera g;
  g.setVideoMode(fw1394Camera::fwVIDEO_MODE_640x480_MONO8);
  g.setFramerate(fw1394Camera::fwFRAMERATE_15);
  while(1)
    g.acquire(I);
\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
setCamera(), \hyperlink{classfw1394_camera_a8a1b5f5b0b5919112e794a0d600f0fb0}{setVideoMode()}, \hyperlink{classfw1394_camera_a8905ea173e9a55e041643136e6ab7298}{setFramerate()} 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_aa7597bcd7b465a271d113d23c9c74516}{
\index{fw1394Camera@{fw1394Camera}!$\sim$fw1394Camera@{$\sim$fw1394Camera}}
\index{$\sim$fw1394Camera@{$\sim$fw1394Camera}!fw1394Camera@{fw1394Camera}}
\subsubsection[{$\sim$fw1394Camera}]{\setlength{\rightskip}{0pt plus 5cm}fw1394Camera::$\sim$fw1394Camera ()\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classfw1394_camera_aa7597bcd7b465a271d113d23c9c74516}
Destructor.

Close the firewire grabber.

\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_a20f09992bae2d6d8249cc24b93b82c2d}{close()} 
\end{DoxySeeAlso}


\subsection{Member Function Documentation}
\hypertarget{classfw1394_camera_ae62703fddbcb8151ee6d304473375f05}{
\index{fw1394Camera@{fw1394Camera}!acquire@{acquire}}
\index{acquire@{acquire}!fw1394Camera@{fw1394Camera}}
\subsubsection[{acquire}]{\setlength{\rightskip}{0pt plus 5cm}void fw1394Camera::acquire (unsigned char $\ast$ {\em I})}}
\label{classfw1394_camera_ae62703fddbcb8151ee6d304473375f05}
Acquire a grey level image from the active camera.


\begin{DoxyParams}{Parameters}
\item[{\em I}]: Image data structure (8 bits image).\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::initializationError}]: If no camera found on the bus or if can't get camera settings.\item[{\em fwCameraException::otherError}]: If format conversion to return a 8 bits image is not implemented.\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
setCamera(), \hyperlink{classfw1394_camera_a8a1b5f5b0b5919112e794a0d600f0fb0}{setVideoMode()}, \hyperlink{classfw1394_camera_a8905ea173e9a55e041643136e6ab7298}{setFramerate()}, \hyperlink{classfw1394_camera_a3c64b4c0e17b986d1aea0c0b62f565e0}{dequeue()}, \hyperlink{classfw1394_camera_ab86dfd461efb73ecd48355fb8f91bf19}{enqueue()} 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_a20f09992bae2d6d8249cc24b93b82c2d}{
\index{fw1394Camera@{fw1394Camera}!close@{close}}
\index{close@{close}!fw1394Camera@{fw1394Camera}}
\subsubsection[{close}]{\setlength{\rightskip}{0pt plus 5cm}void fw1394Camera::close ()\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classfw1394_camera_a20f09992bae2d6d8249cc24b93b82c2d}
Close the firewire grabber.

Stops the capture and the iso transmission of the active cameras and than release the cameras. 

Implements \hyperlink{classfw_camera_a2acfab12397204f9b64f833bc67228ef}{fwCamera}.\hypertarget{classfw1394_camera_a5c66879fc9e5a240201e2e22ebd70b2b}{
\index{fw1394Camera@{fw1394Camera}!colorCoding2string@{colorCoding2string}}
\index{colorCoding2string@{colorCoding2string}!fw1394Camera@{fw1394Camera}}
\subsubsection[{colorCoding2string}]{\setlength{\rightskip}{0pt plus 5cm}std::string fw1394Camera::colorCoding2string ({\bf fw1394TwoColorCodingType} {\em colorcoding})\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{classfw1394_camera_a5c66879fc9e5a240201e2e22ebd70b2b}
Converts the color coding identifier into a string containing the description of the color coding.


\begin{DoxyParams}{Parameters}
\item[{\em colorcoding}]: The color coding format.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A string describing the color coding, an empty string if the color coding is not supported.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_ac7a3640737651e7f4235397489cf6c20}{string2colorCoding()} 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_a3c64b4c0e17b986d1aea0c0b62f565e0}{
\index{fw1394Camera@{fw1394Camera}!dequeue@{dequeue}}
\index{dequeue@{dequeue}!fw1394Camera@{fw1394Camera}}
\subsubsection[{dequeue}]{\setlength{\rightskip}{0pt plus 5cm}dc1394video\_\-frame\_\-t $\ast$ fw1394Camera::dequeue ()}}
\label{classfw1394_camera_a3c64b4c0e17b986d1aea0c0b62f565e0}
Get an image from the active camera frame buffer. This buffer neads to be released by \hyperlink{classfw1394_camera_ab86dfd461efb73ecd48355fb8f91bf19}{enqueue()}.

\begin{DoxyReturn}{Returns}
Pointer to the libdc1394-\/2.x image data structure.
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::initializationError}]: If no camera found on the bus.\end{DoxyExceptions}

\begin{DoxyCode}
  fw1394Camera g;
  dc1394video_frame_t *frame;
  g.setVideoMode(fw1394Camera::fwVIDEO_MODE_640x480_MONO8);
  g.setFramerate(fw1394Camera::fwFRAMERATE_15);
  while(1) {
    frame = g.dequeue();
    // Current image is now in frame structure
    g.enqueue(frame);
  }
\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_ab86dfd461efb73ecd48355fb8f91bf19}{enqueue()} 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_ab86dfd461efb73ecd48355fb8f91bf19}{
\index{fw1394Camera@{fw1394Camera}!enqueue@{enqueue}}
\index{enqueue@{enqueue}!fw1394Camera@{fw1394Camera}}
\subsubsection[{enqueue}]{\setlength{\rightskip}{0pt plus 5cm}void fw1394Camera::enqueue (dc1394video\_\-frame\_\-t $\ast$ {\em frame})}}
\label{classfw1394_camera_ab86dfd461efb73ecd48355fb8f91bf19}
Release the frame buffer used by the active camera.


\begin{DoxyParams}{Parameters}
\item[{\em frame}]: Pointer to the libdc1394-\/2.x image data structure.\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::initializationError}]: If no camera found on the bus.\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_a3c64b4c0e17b986d1aea0c0b62f565e0}{dequeue()} 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_afd240ee92c1d3333146eaa69bb8c5d09}{
\index{fw1394Camera@{fw1394Camera}!framerate2string@{framerate2string}}
\index{framerate2string@{framerate2string}!fw1394Camera@{fw1394Camera}}
\subsubsection[{framerate2string}]{\setlength{\rightskip}{0pt plus 5cm}std::string fw1394Camera::framerate2string ({\bf fw1394TwoFramerateType} {\em fps})\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{classfw1394_camera_afd240ee92c1d3333146eaa69bb8c5d09}
Converts the framerate identifier into a string containing the description of the framerate.


\begin{DoxyParams}{Parameters}
\item[{\em fps}]: The camera capture framerate.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A string describing the framerate, an empty string if the framerate is not supported.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_a404f21fb5d6ce69f23689faf661a4f48}{string2framerate()} 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_a575b60dd8a4e6b6edf15b0b835438a9b}{
\index{fw1394Camera@{fw1394Camera}!getColorCoding@{getColorCoding}}
\index{getColorCoding@{getColorCoding}!fw1394Camera@{fw1394Camera}}
\subsubsection[{getColorCoding}]{\setlength{\rightskip}{0pt plus 5cm}void fw1394Camera::getColorCoding ({\bf fw1394TwoColorCodingType} \& {\em coding})}}
\label{classfw1394_camera_a575b60dd8a4e6b6edf15b0b835438a9b}
Query the actual color coding of the active camera. The camera supported color codings are given by \hyperlink{classfw1394_camera_a2a787ba79f21132a9edc711aacbc950d}{getColorCodingSupported()}.


\begin{DoxyParams}{Parameters}
\item[{\em coding}]: The camera capture color coding.\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::initializationError}]: If no camera found on the bus.\item[{\em fwCameraException::settingError}]: If we can't get the actual color coding. Occurs if current video mode is fw1394Camera::fwVIDEO\_\-MODE\_\-EXIF (format 6).\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_a861943c35b2da1139440fa028d45de2b}{setColorCoding()}, \hyperlink{classfw1394_camera_a2a787ba79f21132a9edc711aacbc950d}{getColorCodingSupported()}, setCamera() 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_a2a787ba79f21132a9edc711aacbc950d}{
\index{fw1394Camera@{fw1394Camera}!getColorCodingSupported@{getColorCodingSupported}}
\index{getColorCodingSupported@{getColorCodingSupported}!fw1394Camera@{fw1394Camera}}
\subsubsection[{getColorCodingSupported}]{\setlength{\rightskip}{0pt plus 5cm}int fw1394Camera::getColorCodingSupported ({\bf fw1394TwoVideoModeType} {\em mode}, \/  {\bf fwList}$<$ {\bf fw1394TwoColorCodingType} $>$ \& {\em codings})}}
\label{classfw1394_camera_a2a787ba79f21132a9edc711aacbc950d}
Query the available color codings for the given camera video mode (see file dc1394/control.h).


\begin{DoxyParams}{Parameters}
\item[{\em mode}]: Camera video mode.\item[{\em codings}]: The list of supported color codings for the given camera video mode.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number of supported color codings, 0 if no color codings is available.
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::initializationError}]: If no camera found on the bus.\item[{\em fwCameraException::settingError}]: If we can't get the color codingss.\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_a861943c35b2da1139440fa028d45de2b}{setColorCoding()}, \hyperlink{classfw1394_camera_a575b60dd8a4e6b6edf15b0b835438a9b}{getColorCoding()}, setCamera() 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_aca19658310d62d1fa0191dda156914be}{
\index{fw1394Camera@{fw1394Camera}!getFeature@{getFeature}}
\index{getFeature@{getFeature}!fw1394Camera@{fw1394Camera}}
\subsubsection[{getFeature}]{\setlength{\rightskip}{0pt plus 5cm}void fw1394Camera::getFeature (unsigned int \& {\em min\_\-gain}, \/  unsigned int \& {\em gain}, \/  unsigned int \& {\em max\_\-gain}, \/  dc1394feature\_\-t {\em feature})}}
\label{classfw1394_camera_aca19658310d62d1fa0191dda156914be}
Query the actual gain value of a given camera and the bounded gain values.

\begin{DoxyWarning}{Warning}
Before requerying the gain a handle must be created by calling open(), and a camera must be connected.
\end{DoxyWarning}

\begin{DoxyParams}{Parameters}
\item[{\em min\_\-gain}]: Minimal autorized gain value.\item[{\em gain}]: The current camera gain value. This value is comprised between {\itshape min\_\-gain\/} and {\itshape max\_\-gain\/}.\item[{\em max\_\-gain}]: Maximal autorized gain value.\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::settingError}]:If the required camera is not present or if an error occurs.\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
setGain(), open(), \hyperlink{classfw1394_camera_a323e23058ec5e3c72146af521f358d69}{getNumCameras()}, setCamera() 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_a6e95c28ac35402fd27c58f559ffb45d0}{
\index{fw1394Camera@{fw1394Camera}!getFramerate@{getFramerate}}
\index{getFramerate@{getFramerate}!fw1394Camera@{fw1394Camera}}
\subsubsection[{getFramerate}]{\setlength{\rightskip}{0pt plus 5cm}void fw1394Camera::getFramerate ({\bf fw1394TwoFramerateType} \& {\em fps})}}
\label{classfw1394_camera_a6e95c28ac35402fd27c58f559ffb45d0}
Query the actual camera framerate of the active camera. The camera supported framerates are given by \hyperlink{classfw1394_camera_a45b0b0c2ce45cc303f3b625042953de0}{getFramerateSupported()}.


\begin{DoxyParams}{Parameters}
\item[{\em fps}]: The camera capture framerate.\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::initializationError}]: If no camera found on the bus.\item[{\em fwCameraException::settingError}]: If we can't get the framerate.\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_a8905ea173e9a55e041643136e6ab7298}{setFramerate()}, \hyperlink{classfw1394_camera_a45b0b0c2ce45cc303f3b625042953de0}{getFramerateSupported()}, setCamera() 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_a45b0b0c2ce45cc303f3b625042953de0}{
\index{fw1394Camera@{fw1394Camera}!getFramerateSupported@{getFramerateSupported}}
\index{getFramerateSupported@{getFramerateSupported}!fw1394Camera@{fw1394Camera}}
\subsubsection[{getFramerateSupported}]{\setlength{\rightskip}{0pt plus 5cm}int fw1394Camera::getFramerateSupported ({\bf fw1394TwoVideoModeType} {\em mode}, \/  {\bf fwList}$<$ {\bf fw1394TwoFramerateType} $>$ \& {\em fps})}}
\label{classfw1394_camera_a45b0b0c2ce45cc303f3b625042953de0}
Query the available framerates for the given camera video mode (see file dc1394/control.h). No framerate is associated to the following camera modes :


\begin{DoxyItemize}
\item fw1394Camera::fwVIDEO\_\-MODE\_\-EXIF (format 6),
\item fw1394Camera::fwVIDEO\_\-MODE\_\-FORMAT7\_\-0 (format 7):
\item fw1394Camera::fwVIDEO\_\-MODE\_\-FORMAT7\_\-1 (format 7)
\item fw1394Camera::fwVIDEO\_\-MODE\_\-FORMAT7\_\-2 (format 7)
\item fw1394Camera::fwVIDEO\_\-MODE\_\-FORMAT7\_\-3 (format 7)
\item fw1394Camera::fwVIDEO\_\-MODE\_\-FORMAT7\_\-4 (format 7)
\item fw1394Camera::fwVIDEO\_\-MODE\_\-FORMAT7\_\-5 (format 7)
\item fw1394Camera::fwVIDEO\_\-MODE\_\-FORMAT7\_\-6 (format 7)
\item fw1394Camera::fwVIDEO\_\-MODE\_\-FORMAT7\_\-7 (format 7)
\end{DoxyItemize}


\begin{DoxyParams}{Parameters}
\item[{\em mode}]: Camera video mode.\item[{\em fps}]: The list of supported camera framerates for the given camera video mode.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number of supported framerates, 0 if no framerate is available.
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::initializationError}]: If no camera found on the bus.\item[{\em fwCameraException::settingError}]: If we can't get the supported framerates.\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_a8905ea173e9a55e041643136e6ab7298}{setFramerate()}, \hyperlink{classfw1394_camera_a6e95c28ac35402fd27c58f559ffb45d0}{getFramerate()}, setCamera() 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_ad5bcd003b076b4cfac0b9a8fd4494f16}{
\index{fw1394Camera@{fw1394Camera}!getHeight@{getHeight}}
\index{getHeight@{getHeight}!fw1394Camera@{fw1394Camera}}
\subsubsection[{getHeight}]{\setlength{\rightskip}{0pt plus 5cm}void fw1394Camera::getHeight (unsigned int \& {\em height})}}
\label{classfw1394_camera_ad5bcd003b076b4cfac0b9a8fd4494f16}
Get the image height. It depends on the camera vide mode \hyperlink{classfw1394_camera_a8a1b5f5b0b5919112e794a0d600f0fb0}{setVideoMode()}. The image size is only available after a call to open() or \hyperlink{classfw1394_camera_ae62703fddbcb8151ee6d304473375f05}{acquire()}.


\begin{DoxyParams}{Parameters}
\item[{\em height}]: The image width.\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::initializationError}]: If no camera found on the bus.\end{DoxyExceptions}
\begin{DoxyWarning}{Warning}
Has to be called after open() or \hyperlink{classfw1394_camera_ae62703fddbcb8151ee6d304473375f05}{acquire()} to be sure that camera settings are send to the camera.
\end{DoxyWarning}
\begin{DoxySeeAlso}{See also}
\hyperlink{classfw_camera_ae6d049f672c18fc278fe187084e578d7}{getWidth()} 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_a323e23058ec5e3c72146af521f358d69}{
\index{fw1394Camera@{fw1394Camera}!getNumCameras@{getNumCameras}}
\index{getNumCameras@{getNumCameras}!fw1394Camera@{fw1394Camera}}
\subsubsection[{getNumCameras}]{\setlength{\rightskip}{0pt plus 5cm}void fw1394Camera::getNumCameras (unsigned int \& {\em ncameras})}}
\label{classfw1394_camera_a323e23058ec5e3c72146af521f358d69}
Return the number of cameras connected on the bus.


\begin{DoxyParams}{Parameters}
\item[{\em ncameras}]: The number of cameras found on the bus. \end{DoxyParams}
\hypertarget{classfw1394_camera_aeaa3340e6f0ee50c1e176207f309ccb3}{
\index{fw1394Camera@{fw1394Camera}!getVideoMode@{getVideoMode}}
\index{getVideoMode@{getVideoMode}!fw1394Camera@{fw1394Camera}}
\subsubsection[{getVideoMode}]{\setlength{\rightskip}{0pt plus 5cm}void fw1394Camera::getVideoMode ({\bf fw1394TwoVideoModeType} \& {\em videomode})}}
\label{classfw1394_camera_aeaa3340e6f0ee50c1e176207f309ccb3}
Query the actual capture video mode of the active camera. All the active camera supported modes are given by \hyperlink{classfw1394_camera_a2618ea5515e488abc8663a478fbe108b}{getVideoModeSupported()}.


\begin{DoxyParams}{Parameters}
\item[{\em videomode}]: The camera capture video mode.\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::initializationError}]: If the required camera is not present.\item[{\em fwCameraException::settingError}]: If we can't get the camera actual video mode.\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_a8a1b5f5b0b5919112e794a0d600f0fb0}{setVideoMode()}, \hyperlink{classfw1394_camera_a2618ea5515e488abc8663a478fbe108b}{getVideoModeSupported()}, setCamera() 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_a2618ea5515e488abc8663a478fbe108b}{
\index{fw1394Camera@{fw1394Camera}!getVideoModeSupported@{getVideoModeSupported}}
\index{getVideoModeSupported@{getVideoModeSupported}!fw1394Camera@{fw1394Camera}}
\subsubsection[{getVideoModeSupported}]{\setlength{\rightskip}{0pt plus 5cm}int fw1394Camera::getVideoModeSupported ({\bf fwList}$<$ {\bf fw1394TwoVideoModeType} $>$ \& {\em videomodes})}}
\label{classfw1394_camera_a2618ea5515e488abc8663a478fbe108b}
Query the available active camera video modes.


\begin{DoxyParams}{Parameters}
\item[{\em videomodes}]: The list of supported camera video modes.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The number of supported camera modes, 0 if an error occurs.
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::initializationError}]: If no camera found on the bus.\item[{\em fwCameraException::settingError}]: If we can't get video modes.\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_a8a1b5f5b0b5919112e794a0d600f0fb0}{setVideoMode()}, \hyperlink{classfw1394_camera_aeaa3340e6f0ee50c1e176207f309ccb3}{getVideoMode()}, getCamera() 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_afdbb3f214e484eb3e3737881fa45eace}{
\index{fw1394Camera@{fw1394Camera}!getWidth@{getWidth}}
\index{getWidth@{getWidth}!fw1394Camera@{fw1394Camera}}
\subsubsection[{getWidth}]{\setlength{\rightskip}{0pt plus 5cm}void fw1394Camera::getWidth (unsigned int \& {\em width})}}
\label{classfw1394_camera_afdbb3f214e484eb3e3737881fa45eace}
Get the image width. It depends on the camera video mode \hyperlink{classfw1394_camera_a8a1b5f5b0b5919112e794a0d600f0fb0}{setVideoMode()}. The image size is only available after a call to open() or \hyperlink{classfw1394_camera_ae62703fddbcb8151ee6d304473375f05}{acquire()}.


\begin{DoxyParams}{Parameters}
\item[{\em width}]: The image width, zero if the required camera is not avalaible.\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::initializationError}]: If no camera found on the bus.\end{DoxyExceptions}
\begin{DoxyWarning}{Warning}
Has to be called after open() or \hyperlink{classfw1394_camera_ae62703fddbcb8151ee6d304473375f05}{acquire()} to be sure that camera settings are send to the camera.
\end{DoxyWarning}
\begin{DoxySeeAlso}{See also}
\hyperlink{classfw_camera_a7664af1831842d969a5c30cadd98705b}{getHeight()}, open(), \hyperlink{classfw1394_camera_ae62703fddbcb8151ee6d304473375f05}{acquire()} 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_a82165613d9a1505f278516d0476238cb}{
\index{fw1394Camera@{fw1394Camera}!isColor@{isColor}}
\index{isColor@{isColor}!fw1394Camera@{fw1394Camera}}
\subsubsection[{isColor}]{\setlength{\rightskip}{0pt plus 5cm}bool fw1394Camera::isColor ()}}
\label{classfw1394_camera_a82165613d9a1505f278516d0476238cb}
Indicates if the active camera is grabbing color or grey images.

We consider color images if the color coding is either YUV (411, 422, 444) or RGB (8, 16, 16S). We consider grey images if the color coding is MONO (8, 16, 16S) or RAW (8, 16). fw1394TwoColorCodingType gives the supported color codings.

\begin{DoxyReturn}{Returns}
true : If color images are acquired. 

false : If grey images are acquired.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_a575b60dd8a4e6b6edf15b0b835438a9b}{getColorCoding()}, setCamera() 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_a54d19ed75605e8cb179c233a57db728c}{
\index{fw1394Camera@{fw1394Camera}!isVideoModeFormat7@{isVideoModeFormat7}}
\index{isVideoModeFormat7@{isVideoModeFormat7}!fw1394Camera@{fw1394Camera}}
\subsubsection[{isVideoModeFormat7}]{\setlength{\rightskip}{0pt plus 5cm}bool fw1394Camera::isVideoModeFormat7 ({\bf fw1394TwoVideoModeType} {\em videomode})}}
\label{classfw1394_camera_a54d19ed75605e8cb179c233a57db728c}
Indicates if the video mode is format 7.

\begin{DoxyReturn}{Returns}
true : If the video mode is scalable (Format 7). 

false : If the video mode is not Format 7 like.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_a8a1b5f5b0b5919112e794a0d600f0fb0}{setVideoMode()}, \hyperlink{classfw1394_camera_a2618ea5515e488abc8663a478fbe108b}{getVideoModeSupported()}, setCamera() 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_a04d9f3077be0097cb769d2e7d7e77ab5}{
\index{fw1394Camera@{fw1394Camera}!printCameraInfo@{printCameraInfo}}
\index{printCameraInfo@{printCameraInfo}!fw1394Camera@{fw1394Camera}}
\subsubsection[{printCameraInfo}]{\setlength{\rightskip}{0pt plus 5cm}void fw1394Camera::printCameraInfo ()}}
\label{classfw1394_camera_a04d9f3077be0097cb769d2e7d7e77ab5}
Display camera information for the active camera.

\begin{DoxySeeAlso}{See also}
setCamera() 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_a861943c35b2da1139440fa028d45de2b}{
\index{fw1394Camera@{fw1394Camera}!setColorCoding@{setColorCoding}}
\index{setColorCoding@{setColorCoding}!fw1394Camera@{fw1394Camera}}
\subsubsection[{setColorCoding}]{\setlength{\rightskip}{0pt plus 5cm}void fw1394Camera::setColorCoding ({\bf fw1394TwoColorCodingType} {\em coding})}}
\label{classfw1394_camera_a861943c35b2da1139440fa028d45de2b}
Set the active camera Format 7 color coding.

The iso transmission (setTransmission()) and the dma capture (see setCapture()) are first stopped. Then, the active camera Format 7 is set. Finaly, the dma capture and the iso transmission are re-\/started.

\begin{DoxyWarning}{Warning}
Setting color coding for non format 7 video mode will be without effect.
\end{DoxyWarning}

\begin{DoxyParams}{Parameters}
\item[{\em coding}]: The camera color coding for Format 7 video mode. The current color coding of the camera is given by \hyperlink{classfw1394_camera_a575b60dd8a4e6b6edf15b0b835438a9b}{getColorCoding()}. The camera supported color codings are given by \hyperlink{classfw1394_camera_a2a787ba79f21132a9edc711aacbc950d}{getColorCodingSupported()}.\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::initializationError}]: If no camera found on the bus.\item[{\em fwCameraException::settingError}]: If we can't set the color coding for Format 7 video mode.\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_a575b60dd8a4e6b6edf15b0b835438a9b}{getColorCoding()}, \hyperlink{classfw1394_camera_a2a787ba79f21132a9edc711aacbc950d}{getColorCodingSupported()} , setCamera() 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_a29e450db5b97b37bb58906f880c44d2d}{
\index{fw1394Camera@{fw1394Camera}!setFeature@{setFeature}}
\index{setFeature@{setFeature}!fw1394Camera@{fw1394Camera}}
\subsubsection[{setFeature}]{\setlength{\rightskip}{0pt plus 5cm}void fw1394Camera::setFeature (unsigned int {\em gain}, \/  dc1394feature\_\-t {\em feature})}}
\label{classfw1394_camera_a29e450db5b97b37bb58906f880c44d2d}
Set the gain for a given camera.

\begin{DoxyWarning}{Warning}
Before setting the gain a handle must be created by calling open(), and a camera must be connected.
\end{DoxyWarning}

\begin{DoxyParams}{Parameters}
\item[{\em gain}]The gain value to apply to the camera.\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::settingError}]: If the required camera is not present or if an error occurs.\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
getGain(), \hyperlink{classfw1394_camera_a323e23058ec5e3c72146af521f358d69}{getNumCameras()}, setCamera() 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_ab3f9d0919e2d86a6137ea27666107f5e}{
\index{fw1394Camera@{fw1394Camera}!setFormat7ROI@{setFormat7ROI}}
\index{setFormat7ROI@{setFormat7ROI}!fw1394Camera@{fw1394Camera}}
\subsubsection[{setFormat7ROI}]{\setlength{\rightskip}{0pt plus 5cm}void fw1394Camera::setFormat7ROI (unsigned int {\em left} = {\ttfamily 0}, \/  unsigned int {\em top} = {\ttfamily 0}, \/  unsigned int {\em width} = {\ttfamily 0}, \/  unsigned int {\em height} = {\ttfamily 0})}}
\label{classfw1394_camera_ab3f9d0919e2d86a6137ea27666107f5e}
Set the grabbed region of interest ie roi position and size for format 7 video mode.

The iso transmission (setTransmission()) and the dma capture (see setCapture()) are first stopped. Then, the format 7 roi is set. Finaly, the dma capture and the iso transmission are re-\/started.

\begin{DoxyWarning}{Warning}
Setting format 7 roi takes only effect if video mode is format 7 like.
\end{DoxyWarning}

\begin{DoxyParams}{Parameters}
\item[{\em left}]: Position of the upper left roi corner.\item[{\em top}]: Position of the upper left roi corner.\item[{\em width}]: Roi width. If width is set to 0, uses the maximum allowed image width.\item[{\em height}]: Roi height. If width is set to 0, uses the maximum allowed image height.\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::initializationError}]: If no camera found on the bus.\item[{\em fwCameraException::settingError}]: If we can't set roi.\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_a54d19ed75605e8cb179c233a57db728c}{isVideoModeFormat7()} 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_a8905ea173e9a55e041643136e6ab7298}{
\index{fw1394Camera@{fw1394Camera}!setFramerate@{setFramerate}}
\index{setFramerate@{setFramerate}!fw1394Camera@{fw1394Camera}}
\subsubsection[{setFramerate}]{\setlength{\rightskip}{0pt plus 5cm}void fw1394Camera::setFramerate ({\bf fw1394TwoFramerateType} {\em fps})}}
\label{classfw1394_camera_a8905ea173e9a55e041643136e6ab7298}
Set the active camera framerate for non scalable video modes.

The iso transmission (setTransmission()) and the dma capture (see setCapture()) are first stopped. Then, the camera framerate capture mode is set. Finaly, the dma capture and the iso transmission are re-\/started.

If the current video mode is scalable (Format 7), this function is without effect.


\begin{DoxyParams}{Parameters}
\item[{\em fps}]: The camera framerate. The current framerate of the camera is given by \hyperlink{classfw1394_camera_a6e95c28ac35402fd27c58f559ffb45d0}{getFramerate()}. The camera supported framerates are given by \hyperlink{classfw1394_camera_a45b0b0c2ce45cc303f3b625042953de0}{getFramerateSupported()}.\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::initializationError}]: If no camera found on the bus.\item[{\em fwCameraException::settingError}]: If we can't set the framerate.\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_a6e95c28ac35402fd27c58f559ffb45d0}{getFramerate()}, \hyperlink{classfw1394_camera_a45b0b0c2ce45cc303f3b625042953de0}{getFramerateSupported()} , setCamera() 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_a8a1b5f5b0b5919112e794a0d600f0fb0}{
\index{fw1394Camera@{fw1394Camera}!setVideoMode@{setVideoMode}}
\index{setVideoMode@{setVideoMode}!fw1394Camera@{fw1394Camera}}
\subsubsection[{setVideoMode}]{\setlength{\rightskip}{0pt plus 5cm}void fw1394Camera::setVideoMode ({\bf fw1394TwoVideoModeType} {\em videomode})}}
\label{classfw1394_camera_a8a1b5f5b0b5919112e794a0d600f0fb0}
Set the camera video capture mode. Image size is than updated with respect to the new video capture mode.

The iso transmission (setTransmission()) and the dma capture (see setCapture()) are first stopped. Then, the camera video capture mode is set. Finaly, the dma capture and the iso transmission are re-\/started.


\begin{DoxyParams}{Parameters}
\item[{\em videomode}]: The camera video capture mode. The current camera mode is given by \hyperlink{classfw1394_camera_aeaa3340e6f0ee50c1e176207f309ccb3}{getVideoMode()}. The camera supported modes are given by \hyperlink{classfw1394_camera_a2618ea5515e488abc8663a478fbe108b}{getVideoModeSupported()}.\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::initializationError}]: If no camera found on the bus.\item[{\em fwCameraException::settingError}]: If we can't set the video mode.\end{DoxyExceptions}
\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_aeaa3340e6f0ee50c1e176207f309ccb3}{getVideoMode()}, \hyperlink{classfw1394_camera_a2618ea5515e488abc8663a478fbe108b}{getVideoModeSupported()}, setCamera() 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_ac7a3640737651e7f4235397489cf6c20}{
\index{fw1394Camera@{fw1394Camera}!string2colorCoding@{string2colorCoding}}
\index{string2colorCoding@{string2colorCoding}!fw1394Camera@{fw1394Camera}}
\subsubsection[{string2colorCoding}]{\setlength{\rightskip}{0pt plus 5cm}{\bf fw1394Camera::fw1394TwoColorCodingType} fw1394Camera::string2colorCoding (std::string {\em colorcoding})\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{classfw1394_camera_ac7a3640737651e7f4235397489cf6c20}
Converts the string containing the description of the color coding into the color coding identifier.


\begin{DoxyParams}{Parameters}
\item[{\em colorcoding}]: The string describing the color coding format.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The camera capture color coding identifier.
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::settingError}]: If the required color coding is not valid.\end{DoxyExceptions}
This method returns 0 if the string does not match to a color coding string.

\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_a5c66879fc9e5a240201e2e22ebd70b2b}{colorCoding2string()} 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_a404f21fb5d6ce69f23689faf661a4f48}{
\index{fw1394Camera@{fw1394Camera}!string2framerate@{string2framerate}}
\index{string2framerate@{string2framerate}!fw1394Camera@{fw1394Camera}}
\subsubsection[{string2framerate}]{\setlength{\rightskip}{0pt plus 5cm}{\bf fw1394Camera::fw1394TwoFramerateType} fw1394Camera::string2framerate (std::string {\em framerate})\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{classfw1394_camera_a404f21fb5d6ce69f23689faf661a4f48}
Converts the string containing the description of the framerate into the framerate identifier.


\begin{DoxyParams}{Parameters}
\item[{\em framerate}]: The string describing the framerate.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The camera capture framerate identifier.
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::settingError}]: If the required framerate is not valid.\end{DoxyExceptions}
This method returns 0 if the string does not match to a framerate string.

\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_afd240ee92c1d3333146eaa69bb8c5d09}{framerate2string()} 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_ab7aff1d25aaf0e412553722eff1932e6}{
\index{fw1394Camera@{fw1394Camera}!string2videoMode@{string2videoMode}}
\index{string2videoMode@{string2videoMode}!fw1394Camera@{fw1394Camera}}
\subsubsection[{string2videoMode}]{\setlength{\rightskip}{0pt plus 5cm}{\bf fw1394Camera::fw1394TwoVideoModeType} fw1394Camera::string2videoMode (std::string {\em videomode})\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{classfw1394_camera_ab7aff1d25aaf0e412553722eff1932e6}
Converts the string containing the description of the vide mode into the video mode identifier.


\begin{DoxyParams}{Parameters}
\item[{\em videomode}]: The string describing the video mode.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The camera capture video mode identifier.
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
\item[{\em fwCameraException::settingError}]: If the required videomode is not valid.\end{DoxyExceptions}
This method returns 0 if the string does not match to a video mode string.

\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_ae2b0b4affdf896ce078a328d1531b7e9}{videoMode2string()} 
\end{DoxySeeAlso}
\hypertarget{classfw1394_camera_ae2b0b4affdf896ce078a328d1531b7e9}{
\index{fw1394Camera@{fw1394Camera}!videoMode2string@{videoMode2string}}
\index{videoMode2string@{videoMode2string}!fw1394Camera@{fw1394Camera}}
\subsubsection[{videoMode2string}]{\setlength{\rightskip}{0pt plus 5cm}std::string fw1394Camera::videoMode2string ({\bf fw1394TwoVideoModeType} {\em videomode})\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{classfw1394_camera_ae2b0b4affdf896ce078a328d1531b7e9}
Converts the video mode identifier into a string containing the description of the mode.


\begin{DoxyParams}{Parameters}
\item[{\em videomode}]: The camera capture video mode.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A string describing the mode, an empty string if the mode is not supported.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{classfw1394_camera_ab7aff1d25aaf0e412553722eff1932e6}{string2videoMode()} 
\end{DoxySeeAlso}


\subsection{Member Data Documentation}
\hypertarget{classfw1394_camera_af148b58bd49596cc8cd49490c7b9630f}{
\index{fw1394Camera@{fw1394Camera}!NUM\_\-BUFFERS@{NUM\_\-BUFFERS}}
\index{NUM\_\-BUFFERS@{NUM\_\-BUFFERS}!fw1394Camera@{fw1394Camera}}
\subsubsection[{NUM\_\-BUFFERS}]{\setlength{\rightskip}{0pt plus 5cm}const int {\bf fw1394Camera::NUM\_\-BUFFERS} = 8\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{classfw1394_camera_af148b58bd49596cc8cd49490c7b9630f}
Number of buffers \hypertarget{classfw1394_camera_a11c24148636fee467e849fda4afde407}{
\index{fw1394Camera@{fw1394Camera}!strColorCoding@{strColorCoding}}
\index{strColorCoding@{strColorCoding}!fw1394Camera@{fw1394Camera}}
\subsubsection[{strColorCoding}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ fw1394Camera::strColorCoding\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{classfw1394_camera_a11c24148636fee467e849fda4afde407}
{\bfseries Initial value:}
\begin{DoxyCode}
 {
  "COLOR_CODING_MONO8",
  "COLOR_CODING_YUV411",
  "COLOR_CODING_YUV422",
  "COLOR_CODING_YUV444",
  "COLOR_CODING_RGB8",
  "COLOR_CODING_MONO16",
  "COLOR_CODING_RGB16",
  "COLOR_CODING_MONO16S",
  "COLOR_CODING_RGB16S",
  "COLOR_CODING_RAW8",
  "COLOR_CODING_RAW16",
}
\end{DoxyCode}
\hypertarget{classfw1394_camera_a4457773c7ad7abfb390fe96132a8eebc}{
\index{fw1394Camera@{fw1394Camera}!strFramerate@{strFramerate}}
\index{strFramerate@{strFramerate}!fw1394Camera@{fw1394Camera}}
\subsubsection[{strFramerate}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ fw1394Camera::strFramerate\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{classfw1394_camera_a4457773c7ad7abfb390fe96132a8eebc}
{\bfseries Initial value:}
\begin{DoxyCode}
 {
  "FRAMERATE_1_875",
  "FRAMERATE_3_75",
  "FRAMERATE_7_5",
  "FRAMERATE_15",
  "FRAMERATE_30",
  "FRAMERATE_60",
  "FRAMERATE_120",
  "FRAMERATE_240"
}
\end{DoxyCode}


The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
C:/Users/Matt/Documents/School/Robotics/zebulon/v2/cv/ext/fw1394/src/camera/1394/fw1394Camera.h\item 
C:/Users/Matt/Documents/School/Robotics/zebulon/v2/cv/ext/fw1394/src/camera/1394/\hyperlink{fw1394_camera_8cpp}{fw1394Camera.cpp}\end{DoxyCompactItemize}
